package net.siufung.core.model.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import net.siufung.core.model.IEnum;

/**
 * @author 陈建峰
 * @since 2022/7/22 6:11 下午
 */
@AllArgsConstructor
@ToString
public enum DataScopeEnum implements IEnum<String> {

    /**
     * 全部数据
     */
    ALL("1", "全部"),

    /**
     * 本人可见
     */
    SELF("2", "本人可见"),

    /**
     * 所在机构可见
     */
    DEPT("3", "所在机构可见"),

    /**
     * 所在机构及子级可见
     */
    DEPT_AND_CHILD("4", "所在机构及子级可见"),

    /**
     * 自定义
     */
    CUSTOMIZE("5", "自定义");


    @Getter
    @Setter
    private String value;

    @Getter
    @Setter
    private String desc;


    public static DataScopeEnum get(String value) {
        return IEnum.get(DataScopeEnum.class,
                enums -> enums.getValue().equals(value));
    }


}
